home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / util / AbstractMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.5 KB  |  225 lines

  1. package java.util;
  2.  
  3. public abstract class AbstractMap<K, V> implements Map<K, V> {
  4.    transient volatile Set<K> keySet = null;
  5.    transient volatile Collection<V> values = null;
  6.  
  7.    protected AbstractMap() {
  8.    }
  9.  
  10.    public int size() {
  11.       return this.entrySet().size();
  12.    }
  13.  
  14.    public boolean isEmpty() {
  15.       return this.size() == 0;
  16.    }
  17.  
  18.    public boolean containsValue(Object var1) {
  19.       Iterator var2 = this.entrySet().iterator();
  20.       if (var1 == null) {
  21.          while(var2.hasNext()) {
  22.             Map.Entry var4 = (Map.Entry)var2.next();
  23.             if (var4.getValue() == null) {
  24.                return true;
  25.             }
  26.          }
  27.       } else {
  28.          while(var2.hasNext()) {
  29.             Map.Entry var3 = (Map.Entry)var2.next();
  30.             if (var1.equals(var3.getValue())) {
  31.                return true;
  32.             }
  33.          }
  34.       }
  35.  
  36.       return false;
  37.    }
  38.  
  39.    public boolean containsKey(Object var1) {
  40.       Iterator var2 = this.entrySet().iterator();
  41.       if (var1 == null) {
  42.          while(var2.hasNext()) {
  43.             Map.Entry var4 = (Map.Entry)var2.next();
  44.             if (var4.getKey() == null) {
  45.                return true;
  46.             }
  47.          }
  48.       } else {
  49.          while(var2.hasNext()) {
  50.             Map.Entry var3 = (Map.Entry)var2.next();
  51.             if (var1.equals(var3.getKey())) {
  52.                return true;
  53.             }
  54.          }
  55.       }
  56.  
  57.       return false;
  58.    }
  59.  
  60.    public V get(Object var1) {
  61.       Iterator var2 = this.entrySet().iterator();
  62.       if (var1 == null) {
  63.          while(var2.hasNext()) {
  64.             Map.Entry var4 = (Map.Entry)var2.next();
  65.             if (var4.getKey() == null) {
  66.                return (V)var4.getValue();
  67.             }
  68.          }
  69.       } else {
  70.          while(var2.hasNext()) {
  71.             Map.Entry var3 = (Map.Entry)var2.next();
  72.             if (var1.equals(var3.getKey())) {
  73.                return (V)var3.getValue();
  74.             }
  75.          }
  76.       }
  77.  
  78.       return null;
  79.    }
  80.  
  81.    public V put(K var1, V var2) {
  82.       throw new UnsupportedOperationException();
  83.    }
  84.  
  85.    public V remove(Object var1) {
  86.       Iterator var2 = this.entrySet().iterator();
  87.       Map.Entry var3 = null;
  88.       if (var1 == null) {
  89.          while(var3 == null && var2.hasNext()) {
  90.             Map.Entry var5 = (Map.Entry)var2.next();
  91.             if (var5.getKey() == null) {
  92.                var3 = var5;
  93.             }
  94.          }
  95.       } else {
  96.          while(var3 == null && var2.hasNext()) {
  97.             Map.Entry var4 = (Map.Entry)var2.next();
  98.             if (var1.equals(var4.getKey())) {
  99.                var3 = var4;
  100.             }
  101.          }
  102.       }
  103.  
  104.       Object var6 = null;
  105.       if (var3 != null) {
  106.          var6 = var3.getValue();
  107.          var2.remove();
  108.       }
  109.  
  110.       return (V)var6;
  111.    }
  112.  
  113.    public void putAll(Map<? extends K, ? extends V> var1) {
  114.       for(Map.Entry var3 : var1.entrySet()) {
  115.          this.put(var3.getKey(), var3.getValue());
  116.       }
  117.  
  118.    }
  119.  
  120.    public void clear() {
  121.       this.entrySet().clear();
  122.    }
  123.  
  124.    public Set<K> keySet() {
  125.       if (this.keySet == null) {
  126.          this.keySet = new 1(this);
  127.       }
  128.  
  129.       return this.keySet;
  130.    }
  131.  
  132.    public Collection<V> values() {
  133.       if (this.values == null) {
  134.          this.values = new 2(this);
  135.       }
  136.  
  137.       return this.values;
  138.    }
  139.  
  140.    public abstract Set<Map.Entry<K, V>> entrySet();
  141.  
  142.    public boolean equals(Object var1) {
  143.       if (var1 == this) {
  144.          return true;
  145.       } else if (!(var1 instanceof Map)) {
  146.          return false;
  147.       } else {
  148.          Map var2 = (Map)var1;
  149.          if (var2.size() != this.size()) {
  150.             return false;
  151.          } else {
  152.             try {
  153.                for(Map.Entry var4 : this.entrySet()) {
  154.                   Object var5 = var4.getKey();
  155.                   Object var6 = var4.getValue();
  156.                   if (var6 == null) {
  157.                      if (var2.get(var5) != null || !var2.containsKey(var5)) {
  158.                         return false;
  159.                      }
  160.                   } else if (!var6.equals(var2.get(var5))) {
  161.                      return false;
  162.                   }
  163.                }
  164.  
  165.                return true;
  166.             } catch (ClassCastException var7) {
  167.                return false;
  168.             } catch (NullPointerException var8) {
  169.                return false;
  170.             }
  171.          }
  172.       }
  173.    }
  174.  
  175.    public int hashCode() {
  176.       int var1 = 0;
  177.  
  178.       for(Iterator var2 = this.entrySet().iterator(); var2.hasNext(); var1 += ((Map.Entry)var2.next()).hashCode()) {
  179.       }
  180.  
  181.       return var1;
  182.    }
  183.  
  184.    public String toString() {
  185.       Iterator var1 = this.entrySet().iterator();
  186.       if (!var1.hasNext()) {
  187.          return "{}";
  188.       } else {
  189.          StringBuilder var2 = new StringBuilder();
  190.          var2.append('{');
  191.  
  192.          while(true) {
  193.             Map.Entry var3 = (Map.Entry)var1.next();
  194.             Object var4 = var3.getKey();
  195.             Object var5 = var3.getValue();
  196.             var2.append(var4 == this ? "(this Map)" : var4);
  197.             var2.append('=');
  198.             var2.append(var5 == this ? "(this Map)" : var5);
  199.             if (!var1.hasNext()) {
  200.                return var2.append('}').toString();
  201.             }
  202.  
  203.             var2.append(", ");
  204.          }
  205.       }
  206.    }
  207.  
  208.    protected Object clone() throws CloneNotSupportedException {
  209.       AbstractMap var1 = (AbstractMap)super.clone();
  210.       var1.keySet = null;
  211.       var1.values = null;
  212.       return var1;
  213.    }
  214.  
  215.    // $FF: renamed from: eq (java.lang.Object, java.lang.Object) boolean
  216.    private static boolean method_0(Object var0, Object var1) {
  217.       return var0 == null ? var1 == null : var0.equals(var1);
  218.    }
  219.  
  220.    // $FF: synthetic method
  221.    static boolean access$000(Object var0, Object var1) {
  222.       return method_0(var0, var1);
  223.    }
  224. }
  225.